Program Optimization for Concurrent Multithreaded Architectures
نویسندگان
چکیده
This paper presents some compiler and program transformation techniques for concurrent multithreaded architectures, in particular the superthreaded architecture 9], which adopts a thread pipelining execution model that allows threads with data dependences and control dependences to be executed in parallel. In this paper, we identify several important program analysis and transformation techniques that allow the superthreaded architecture to exploit more parallelism in programs with less run-time overhead. We evaluate the performance of the su-perthreaded architecture and the eeectiveness of the program transformation techniques by manually compiling several benchmark programs and running them through a trace-driven, cycle-by-cycle superthreaded processor simulator. The simulation results show that a superthreaded processor can achieve promising speedups for most of the benchmark programs with the proposed program transformation techniques applied.
منابع مشابه
Designing the Agassiz Compiler for Concurrent Multithreaded Architectures
In this paper, we present the overall design of the Agassiz compiler [1]. The Agassiz compiler is an integrated compiler targeting the concurrent multithreaded architectures [12][13]. These architectures can exploit both loop-level and instruction-level parallelism for general-purpose applications (such as those in SPEC benchmarks). They also support various kinds of control and data speculatio...
متن کاملProgram Execution on Reconfigurable Multicore Architectures
Based on the two observations that diverse applications perform better on different multicore architectures, and that different phases of an application may have vastly different resource requirements, Pal et al. proposed a novel reconfigurable hardware approach for executing multithreaded programs. Instead of mapping a concurrent program to a fixed architecture, the architecture adaptively rec...
متن کاملCompiler Assisted Speculation for Multithreaded Programming
Multithreaded programming, which well fits the structure of modern shared memory systems, is becoming one of the most popular parallel programming models. Two important supporting components of multithreaded programming, concurrent data structures and transactional memory, can benefit from speculation. However, traditional speculation mechanisms, which do not exploit high level knowledge about ...
متن کاملA Comparison of Different Multithreading Architectures
A new direction in the research of automatic extraction of parallelism from sequential high level languages focuses on the concurrent execution of multiple threads, i.e. multithreaded architectures. The interest for architectures that are able to follow multiple control paths is stimulated by reaching the border of available parallelism for single thread architectures. On the other hand, there ...
متن کاملMultithreaded Dependence Graphs for Concurrent Java Programs
Understanding program dependencies in a computer program is essential for many software engineering activities including program slicing, testing, debugging, reverse engineering, and maintenance. In this paper, we present a dependence-based representation called multithreaded dependence graph, which extends previous dependence-based representations, to represent program dependencies in a concur...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997